package com.itlong.cloud.property.service;

import com.itlong.cloud.POJO.DTO.app.AppConsumeRecordDTO;
import com.itlong.cloud.POJO.DTO.property.ConsumptionRecordDTO;
import com.itlong.cloud.POJO.VO.app.AppElevatorConsumptionRecordVO;
import com.itlong.cloud.POJO.VO.property.ConsumptionRecordVO;
import com.itlong.cloud.utils.page.Page;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      消费管理服务层接口
 * </desc>
 *
 * @createDate2020/7/15
 **/
public interface IPropertyConsumptionService {

    /**
     * <desc>
     *      分页获取消费管理列表
     * </desc>
     *
     * @param consumptionRecordDTO 消费记录DTO
     * @return 消费记录分页列表
     * @Author Zhu.yj
     * @createDate  2020/7/16
     */
    Page<ConsumptionRecordVO> getPage(ConsumptionRecordDTO consumptionRecordDTO) throws Exception;

    /**
     * <desc>
     *      app获取消费记录列表
     * </desc>
     *
     * @param appConsumeRecordDTO app消费记录DTO
     * @return
     * @Author Zhu.yj
     * @createDate  2020/7/17
     */
    List<AppElevatorConsumptionRecordVO> getLiftConsumeRecord(AppConsumeRecordDTO appConsumeRecordDTO) throws Exception;

    /**
     * <desc>
     *      获取有缴费/消费记录的年月
     * </desc>
     *
     * @param appConsumeRecordDTO app消费记录DTO
     * @return
     * @Author Zhu.yj
     * @createDate  2020/7/20
     */
    List<Map<String, Object>> getLiftDateRecord(AppConsumeRecordDTO appConsumeRecordDTO) throws Exception;
}
